#include <AST/expr/literal/IntAST.hpp>
#include <global.hpp>

Int::Int(int val) : val(val) {
    // TODO
    cachedValue = llvm::ConstantInt::get(getType(), val, true);
}

llvm::Type *Int::getType() {
    return BasicType::IntTy;
}

llvm::Constant *Int::codegen() {
    return static_cast<Constant *>(cachedValue);
}

llvm::Value *Int::getDefault() {
    return llvm::ConstantInt::get(BasicType::IntTy, 0, true);
}
